home *** CD-ROM | disk | FTP | other *** search
/ Network PC / Network PC.iso / amiga utilities / graphics / display / mpega / src / audioport.i < prev    next >
Encoding:
Text File  |  1997-11-20  |  5.0 KB  |  128 lines

  1. ;------------------------------------------------------------------------------
  2. ;
  3. ;   File    :    AudioPort.i
  4. ;
  5. ;   Author  :    Stéphane TAVENARD
  6. ;
  7. ;   $VER:   AudioPort.i  1.3  (22/07/1995)
  8. ;
  9. ;   (C) Copyright 1995-1995 Stéphane TAVENARD
  10. ;    All Rights Reserved
  11. ;
  12. ;   #Rev|   Date   |              Comment
  13. ;   ----|----------|--------------------------------------------------------
  14. ;   0    |05/06/1995| Initial revision
  15. ;   1    |06/06/1995| First release (no more C code)                       ST
  16. ;   2    |19/06/1995| Added FreeSignal in DeletePort              ST
  17. ;   3    |23/06/1995| Aminet release                      ST
  18. ;   4    |09/07/1995| Use now ex_EClockFrequency for period calculation      ST
  19. ;   5    |22/07/1995| Added volume control for 16-bit samples          ST
  20. ;
  21. ;   ------------------------------------------------------------------------
  22. ;
  23. ;   Audio port definitions
  24. ;
  25. ;------------------------------------------------------------------------------
  26.  
  27.                      IFND  AUDIOPORT_I
  28. AUDIOPORT_I          set 1
  29.  
  30. ; AU port structure
  31.  
  32. ; Flags (hp_flags)
  33.  
  34. ; Flags to set at open
  35. AUFB_STEREO         equ   0
  36. AUFB_16BITS         equ   1
  37. AUFB_MIXING         equ   6     ; #5
  38. ; Other flags
  39. AUFB_FILTER         equ   2
  40. AUFB_VOL         equ   3
  41. AUFB_FREQ         equ   4
  42. AUFB_NOWAIT         equ   5
  43. ; Masks
  44. AUF_STEREO         equ   (1<<AUFB_STEREO)
  45. AUF_16BITS         equ   (1<<AUFB_16BITS)
  46. AUF_MIXING         equ   (1<<AUFB_MIXING)
  47. AUF_FILTER         equ   (1<<AUFB_FILTER)
  48. AUF_VOL          equ   (1<<AUFB_VOL)
  49. AUF_FREQ         equ   (1<<AUFB_FREQ)
  50. AUF_NOWAIT         equ   (1<<AUFB_NOWAIT)
  51.  
  52.  
  53.              rsreset
  54. au_hard_port         rs.l  1     ; hard_port ptr
  55. au_flags         rs.b  1     ; UBYTE     ; Various flags (AUFB_xxx)
  56. au_signal         rs.b  1     ; UBYTE     ; Signal number for Wait()
  57. au_command         rs.b  1     ; UBYTE     ; Audio command (AUC_xxx)
  58. au_filter_on         rs.b  1     ; UBYTE     ; 0 if filter off
  59. au_frequency         rs.l  1     ; ULONG     ; Input samples frequency
  60. au_l_vol         rs.w  1     ; UWORD     ; Left volume (0..64)
  61. au_r_vol         rs.w  1     ; UWORD     ; Right volume (0..64)
  62. au_l_wave         rs.l  1     ; WORD *    ; WARNING ! @ can be changed
  63. au_r_wave         rs.l  1     ; WORD *    ; each time you use AUC_WRITE
  64. au_wave_length         rs.l  1     ; ULONG     ; Wave length (in samples)
  65. au_mixing_frequency  rs.l  1     ; ULONG     ; Used if AUFB_MIXING set
  66. au_error         rs.l  1     ; LONG      ; 0 if ok
  67. au_sizeof         rs.l  0
  68.  
  69. ; Commands
  70.  
  71. AUC_CONTROL         equ   0
  72. AUC_WRITE         equ   1
  73. AUC_STOP         equ   2
  74. AUC_CONTINUE         equ   3
  75.  
  76. ; Hard port structure
  77.  
  78.              rsreset
  79. hp_task          rs.l  1
  80. hp_signal         rs.l  1        ; Signal bit for audio process
  81. hp_wave_max_length   rs.l  1        ; Max length of one USER sample buffer
  82. hp_input_l_wave      rs.l  1        ; USER Left sample buffer         #5
  83. hp_input_r_wave      rs.l  1        ; USER Right sample buffer         #5
  84. hp_active_wave         rs.l  1        ; Actual audio buffer playing
  85. hp_input_frequency   rs.l  1        ; USER input sample frequency    #5
  86. hp_output_frequency  rs.l  1        ; Output audio frequency         #5
  87. hp_current_period    rs.l  1        ; Audio hardware current period value #5
  88. hp_next_period         rs.l  1        ; Audio hardware next period value    #5
  89. hp_wave_period         rs.l  2        ; Audio hardware waves period value #5
  90. hp_mixing_max_size   rs.l  1        ; Mixing buffer max size  (bytes) #5
  91. hp_mixing_length     rs.l  1        ; Mixing buffer current length    #5
  92. hp_mixing_buffer     rs.l  1        ; Mixing buffer              #5
  93. hp_wave_max_size     rs.l  2        ; Audio buffers max sizes (bytes) #5
  94. hp_wave_length         rs.l  2        ; Audio buffers current lengths
  95. hp_l_wave_h         rs.l  2        ; Audio 8-bit buffers Left (high bits)
  96. hp_l_wave_l         rs.l  2        ; Audio 8-bit buffers Left (low bits)
  97. hp_r_wave_h         rs.l  2        ; Audio 8-bit buffers Right (high bits)
  98. hp_r_wave_l         rs.l  2        ; Audio 8-bit buffers Right (low bits)
  99. hp_flags         rs.b  1        ; Current flags
  100. hp_playing         rs.b  1        ; set if playing
  101. hp_end_of_play         rs.b  1        ; set if last buffer to play
  102. hp_dma_loaded         rs.b  1        ; set if Audio dma's activared
  103. hp_channels_bitmap   rs.l  1        ; Bitmap of Hardware audio channels used
  104. hp_l_vol         rs.w  1        ; Left volume (0..64)
  105. hp_r_vol         rs.w  1        ; Right volume (0..64)
  106. hp_l_channel_h         rs.w  1        ; Hardware audio channel Left (high bits)
  107. hp_l_channel_l         rs.w  1        ; Hardware audio channel Left (low bits)
  108. hp_r_channel_h         rs.w  1        ; Hardware audio channel Right (high bits)
  109. hp_r_channel_l         rs.w  1        ; Hardware audio channel Right (low bits)
  110. hp_audena         rs.w  1        ; Hardware register AUDENA save bits
  111. hp_adkcon         rs.w  1        ; Hardware register ADKCON save bits
  112. hp_intdis         rs.w  1        ; Interrupt bits to disable
  113. hp_intena         rs.w  1        ; Hardware register INTENA save bits
  114. hp_intnum         rs.l  1        ; Interrupt number used for audio process
  115. hp_port          rs.l  1        ; Audio device port address
  116. hp_old_interrupt     rs.l  1        ; Old interrupt handler
  117. hp_audio_interrupt   rs.b  IS_SIZE  ; = Interrupt size
  118. hp_sizeof         rs.l  0
  119.  
  120. ; Flags (hp_flags)
  121.  
  122. AU_B_STEREO         equ   0
  123. AU_B_16BITS         equ   1
  124. AU_B_NOSPLIT         equ   2
  125. AU_B_FILTER         equ   3
  126.  
  127.                      ENDC  ; AUDIOPORT_I
  128.